home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.004 / xemacs-1 / xemacs-19.13 / src / s / irix5-0.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-08-15  |  3.4 KB  |  125 lines

  1. /* Synched up with: FSF 19.29. */
  2.  
  3. #include "usg5-4.h"
  4.  
  5. #define IRIX5
  6.  
  7. #ifdef LIBS_SYSTEM
  8. #undef LIBS_SYSTEM
  9. #endif
  10.  
  11. #ifdef LIB_STANDARD
  12. #undef LIB_STANDARD
  13. #endif
  14.  
  15. #ifdef SYSTEM_TYPE
  16. #undef SYSTEM_TYPE
  17. #endif
  18. #define SYSTEM_TYPE "irix"
  19.  
  20. #ifdef SETUP_SLAVE_PTY
  21. #undef SETUP_SLAVE_PTY
  22. #endif
  23.  
  24. /* thomas@mathematik.uni-bremen.de says this is needed.  */
  25. /* Make process_send_signal work by "typing" a signal character on the pty.  */
  26. #define SIGNALS_VIA_CHARACTERS
  27.  
  28. /* Define HAVE_ALLOCA to say that the system provides a properly
  29.    working alloca function and it should be used. */
  30. #define HAVE_ALLOCA
  31. #undef C_ALLOCA
  32.  
  33. #ifndef NOT_C_CODE
  34. #ifndef __GNUC__
  35. #include <alloca.h>
  36. #endif
  37. #endif
  38.  
  39. /* SGI has all the fancy wait stuff, but we can't include sys/wait.h
  40.    because it defines BIG_ENDIAN and LITTLE_ENDIAN (ugh!.)  Instead
  41.    we'll just define WNOHANG right here.
  42.    (An implicit decl is good enough for wait3.)  */
  43. /* [XEmacs: Now that we don't use BIG_ENDIAN/LITTLE_ENDIAN, it's safe
  44.    to include wait.h.  Should something change here?] */
  45.  
  46. /* #define WNOHANG        0x1 */
  47.  
  48. /* No need to use sprintf to get the tty name--we get that from _getpty.  */
  49. #ifdef PTY_TTY_NAME_SPRINTF
  50. #undef PTY_TTY_NAME_SPRINTF
  51. #endif
  52. #define PTY_TTY_NAME_SPRINTF
  53. /* No need to get the pty name at all.  */
  54. #ifdef PTY_NAME_SPRINTF
  55. #undef PTY_NAME_SPRINTF
  56. #endif
  57. #define PTY_NAME_SPRINTF
  58. #ifdef emacs
  59. char *_getpty ();
  60. #endif
  61. /* We need only try once to open a pty.  */
  62. #define PTY_ITERATION
  63. /* Here is how to do it.  */
  64. /* It is necessary to prevent SIGCHLD signals within _getpty.
  65.    So we block them. */
  66. #define PTY_OPEN                        \
  67. {                                \
  68.   char *name;                            \
  69.   EMACS_BLOCK_SIGCHLD;                        \
  70.   name = _getpty (&fd, O_RDWR | O_NDELAY, 0600, 0);        \
  71.   EMACS_UNBLOCK_SIGCHLD;                    \
  72.   if (name == 0)                        \
  73.     return -1;                            \
  74.   if (fd < 0)                            \
  75.     return -1;                            \
  76.   if (fstat (fd, &stb) < 0)                    \
  77.     return -1;                            \
  78.   strcpy (pty_name, name);                    \
  79. }
  80.  
  81. /* jpff@maths.bath.ac.uk reports `struct exception' is not defined
  82.    on this system, so inhibit use of matherr.  */
  83. #define NO_MATHERR
  84.  
  85. /* Info from simon@lia.di.epfl.ch (Simon Leinen) suggests this is needed.  */
  86. #define GETPGRP_NO_ARG
  87.  
  88. /* Ulimit(UL_GMEMLIM) is busted...  */
  89. #define ULIMIT_BREAK_VALUE 0x14000000
  90.  
  91. /* Tell process_send_signal to use VSUSP instead of VSWTCH.  */
  92. #define PREFER_VSUSP
  93.  
  94. /* Because unexelfsgi.c cannot handle a ".sbss" section yet, we must
  95.    tell the linker to avoid making one.  SGI's cc does this by
  96.    default, but GCC (at least 2.5.8 and 2.6.0) doesn't. */
  97. #ifdef __GNUC__
  98. #define LD_SWITCH_SYSTEM -G 0
  99. #endif
  100.  
  101. /* define MAIL_USE_FLOCK if the mailer uses flock
  102.    to interlock access to /usr/spool/mail/$USER.
  103.    The alternative is that a lock file named
  104.    /usr/spool/mail/$USER.lock.  */
  105.  
  106. #define MAIL_USE_FLOCK
  107.  
  108. /* use K&R C */
  109. /* XEmacs change -- use ANSI, not K&R */
  110. #ifndef __GNUC__
  111. #define C_SWITCH_SYSTEM -xansi
  112. #endif
  113.  
  114. /* jackr@engr.sgi.com says that you can't mix different kinds of
  115.    signal-handling functions under IRIX 5.3.  I'm going to assume
  116.    that that was the reason this got broken.  Now that the
  117.    signal routines are fixed up, maybe this will work. --ben */
  118. /* Nope, it doesn't.  I've tried lots of things; it must be
  119.    genuinely broken. */
  120. /* XEmacs addition: People on IRIX 5.2 and IRIX 5.3 systems have
  121.    reported that they can't break out of (while t) using C-g or C-G.
  122.    This does not occur on other systems, so let's assume that SIGIO
  123.    is broken on these systems. */
  124. #define BROKEN_SIGIO
  125.